from django.db import models


# Create your models here.
class Student(models.Model):
    SEX_CHOICES = (
        (0, '女'),
        (1, '男')
    )
    name = models.CharField(max_length=30, verbose_name='姓名')
    age = models.IntegerField(verbose_name='年龄', null=True, blank=True)
    sex = models.IntegerField(verbose_name='性别', null=True, blank=True, choices=SEX_CHOICES)
    create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间')
    update_time = models.DateTimeField(auto_now=True, verbose_name='更新时间')
    is_delete = models.BooleanField(default=False, verbose_name='逻辑删除')

    department = models.ForeignKey('Department', on_delete=models.CASCADE)  # 级联删除

    class Meta:
        db_table = 'student'

    def delete(self, using=None, keep_parents=False):
        self.is_delete = True
        self.save()


class Department(models.Model):
    name = models.CharField(max_length=30, verbose_name='学院名')
    slogan = models.TextField(null=True, blank=True, verbose_name='口号')
    create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间')
    update_time = models.DateTimeField(auto_now=True, verbose_name='更新时间')
    is_delete = models.BooleanField(default=False, verbose_name='逻辑删除')

    class Meta:
        db_table = 'department'

    def delete(self, using=None, keep_parents=False):
        self.is_delete = True
        self.save()

    def __str__(self):
        return self.name
